[INFO] cloning repository https://github.com/sriramkidambi/xen
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/sriramkidambi/xen" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsriramkidambi%2Fxen", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsriramkidambi%2Fxen'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] cb8bead5a40f3ff2ecf9bffb87144c5081d70c14
[INFO] testing sriramkidambi/xen against master#cced03bfd61a304243a34504618ecec86c17063f for pr-154065-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsriramkidambi%2Fxen" "/workspace/builds/worker-3-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/sriramkidambi/xen
[INFO] finished tweaking git repo https://github.com/sriramkidambi/xen
[INFO] tweaked toml for git repo https://github.com/sriramkidambi/xen written to /workspace/builds/worker-3-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/sriramkidambi/xen on toolchain cced03bfd61a304243a34504618ecec86c17063f
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+cced03bfd61a304243a34504618ecec86c17063f" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/sriramkidambi/xen already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+cced03bfd61a304243a34504618ecec86c17063f" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded serde_spanned v1.1.0
[INFO] [stderr]   Downloaded toml_writer v1.1.0+spec-1.1.0
[INFO] [stderr]   Downloaded toml_parser v1.1.0+spec-1.1.0
[INFO] [stderr]   Downloaded zip v7.2.0
[INFO] [stderr]   Downloaded deflate64 v0.1.10
[INFO] [stderr]   Downloaded which v8.0.0
[INFO] [stderr]   Downloaded ppmd-rust v1.4.0
[INFO] [stderr]   Downloaded zopfli v0.8.3
[INFO] [stderr]   Downloaded kasuari v0.4.12
[INFO] [stderr]   Downloaded winnow v1.0.0
[INFO] [stderr]   Downloaded typed-path v0.12.3
[INFO] [stderr]   Downloaded ureq v3.1.4
[INFO] [stderr]   Downloaded zlib-rs v0.5.5
[INFO] [stderr]   Downloaded webpki-roots v1.0.5
[INFO] [stderr]   Downloaded dialoguer-multiselect v0.13.3
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+cced03bfd61a304243a34504618ecec86c17063f" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] c07c647c6225a523a97ccdfa6bb35be1f53111ecc5c5ba8324678e6999571b27
[INFO] running `Command { std: "docker" "start" "-a" "c07c647c6225a523a97ccdfa6bb35be1f53111ecc5c5ba8324678e6999571b27", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "c07c647c6225a523a97ccdfa6bb35be1f53111ecc5c5ba8324678e6999571b27", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c07c647c6225a523a97ccdfa6bb35be1f53111ecc5c5ba8324678e6999571b27", kill_on_drop: false }`
[INFO] [stdout] c07c647c6225a523a97ccdfa6bb35be1f53111ecc5c5ba8324678e6999571b27
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+cced03bfd61a304243a34504618ecec86c17063f" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] e2b4159041cac1d20c86189f73bc938bfc3eefe691d47cad066dd812611c31a4
[INFO] running `Command { std: "docker" "start" "-a" "e2b4159041cac1d20c86189f73bc938bfc3eefe691d47cad066dd812611c31a4", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.105
[INFO] [stderr]    Compiling quote v1.0.43
[INFO] [stderr]    Compiling foldhash v0.2.0
[INFO] [stderr]    Compiling cc v1.2.53
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling ryu v1.0.22
[INFO] [stderr]    Compiling simd-adler32 v0.3.8
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling hashbrown v0.16.1
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling itertools v0.14.0
[INFO] [stderr]    Compiling miniz_oxide v0.8.9
[INFO] [stderr]    Compiling castaway v0.2.4
[INFO] [stderr]    Compiling num_threads v0.1.7
[INFO] [stderr]    Compiling instability v0.3.11
[INFO] [stderr]    Compiling indoc v2.0.7
[INFO] [stderr]    Compiling time-core v0.1.7
[INFO] [stderr]    Compiling time v0.3.45
[INFO] [stderr]    Compiling lru v0.16.3
[INFO] [stderr]    Compiling compact_str v0.9.0
[INFO] [stderr]    Compiling convert_case v0.10.0
[INFO] [stderr]    Compiling getrandom v0.2.17
[INFO] [stderr]    Compiling tracing-core v0.1.36
[INFO] [stderr]    Compiling syn v2.0.114
[INFO] [stderr]    Compiling zstd-safe v7.2.4
[INFO] [stderr]    Compiling httparse v1.10.1
[INFO] [stderr]    Compiling signal-hook v0.3.18
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling indexmap v2.13.0
[INFO] [stderr]    Compiling aho-corasick v1.1.4
[INFO] [stderr]    Compiling inout v0.1.4
[INFO] [stderr]    Compiling zstd-sys v2.0.16+zstd.1.5.7
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling mio v1.1.1
[INFO] [stderr]    Compiling unicode-truncate v2.0.1
[INFO] [stderr]    Compiling thread_local v1.1.9
[INFO] [stderr]    Compiling zlib-rs v0.5.5
[INFO] [stderr]    Compiling rustls v0.23.36
[INFO] [stderr]    Compiling owo-colors v4.2.3
[INFO] [stderr]    Compiling litrs v1.0.0
[INFO] [stderr]    Compiling regex-automata v0.4.13
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling crc v3.3.0
[INFO] [stderr]    Compiling document-features v0.2.12
[INFO] [stderr]    Compiling http v1.4.0
[INFO] [stderr]    Compiling tracing-subscriber v0.3.22
[INFO] [stderr]    Compiling signal-hook-mio v0.2.5
[INFO] [stderr]    Compiling cipher v0.4.4
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling sha2 v0.10.9
[INFO] [stderr]    Compiling hmac v0.12.1
[INFO] [stderr]    Compiling line-clipping v0.3.5
[INFO] [stderr]    Compiling unsafe-libyaml v0.2.11
[INFO] [stderr]    Compiling color-spantrace v0.3.0
[INFO] [stderr]    Compiling eyre v0.6.12
[INFO] [stderr]    Compiling env_home v0.1.0
[INFO] [stderr]    Compiling winnow v1.0.0
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling darling_core v0.23.0
[INFO] [stderr]    Compiling libbz2-rs-sys v0.2.2
[INFO] [stderr]    Compiling bumpalo v3.19.1
[INFO] [stderr]    Compiling tempfile v3.27.0
[INFO] [stderr]    Compiling bzip2 v0.6.1
[INFO] [stderr]    Compiling flate2 v1.1.8
[INFO] [stderr]    Compiling ureq-proto v0.5.3
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling yoke-derive v0.8.1
[INFO] [stderr]    Compiling zerovec-derive v0.11.2
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling zeroize_derive v1.4.3
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling strum_macros v0.27.2
[INFO] [stderr]    Compiling zeroize v1.8.2
[INFO] [stderr]    Compiling rustls-pki-types v1.14.0
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling zerofrom v0.1.6
[INFO] [stderr]    Compiling yoke v0.8.1
[INFO] [stderr]    Compiling derive_more-impl v2.1.1
[INFO] [stderr]    Compiling zerovec v0.11.5
[INFO] [stderr]    Compiling zerotrie v0.2.3
[INFO] [stderr]    Compiling darling_macro v0.23.0
[INFO] [stderr]    Compiling rustls-webpki v0.103.9
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling derive_more v2.1.1
[INFO] [stderr]    Compiling darling v0.23.0
[INFO] [stderr]    Compiling crossterm v0.29.0
[INFO] [stderr]    Compiling kasuari v0.4.12
[INFO] [stderr]    Compiling tinystr v0.8.2
[INFO] [stderr]    Compiling icu_locale_core v2.1.1
[INFO] [stderr]    Compiling potential_utf v0.1.4
[INFO] [stderr]    Compiling icu_collections v2.1.1
[INFO] [stderr]    Compiling webpki-roots v1.0.5
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling strum v0.27.2
[INFO] [stderr]    Compiling icu_provider v2.1.1
[INFO] [stderr]    Compiling ratatui-core v0.1.0
[INFO] [stderr]    Compiling zopfli v0.8.3
[INFO] [stderr]    Compiling icu_properties v2.1.2
[INFO] [stderr]    Compiling icu_normalizer v2.1.1
[INFO] [stderr]    Compiling toml_parser v1.1.0+spec-1.1.0
[INFO] [stderr]    Compiling regex v1.12.2
[INFO] [stderr]    Compiling which v8.0.0
[INFO] [stderr]    Compiling ratatui-widgets v0.3.0
[INFO] [stderr]    Compiling lzma-rust2 v0.15.7
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling idna_adapter v1.2.1
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling pbkdf2 v0.12.2
[INFO] [stderr]    Compiling tracing-error v0.2.1
[INFO] [stderr]    Compiling zstd v0.13.3
[INFO] [stderr]    Compiling url v2.5.8
[INFO] [stderr]    Compiling serde_yaml v0.9.34+deprecated
[INFO] [stderr]    Compiling aes v0.8.4
[INFO] [stderr]    Compiling object v0.37.3
[INFO] [stderr]    Compiling sha1 v0.10.6
[INFO] [stderr]    Compiling serde_spanned v1.1.0
[INFO] [stderr]    Compiling toml_datetime v0.7.5+spec-1.1.0
[INFO] [stderr]    Compiling indenter v0.3.4
[INFO] [stderr]    Compiling deflate64 v0.1.10
[INFO] [stderr]    Compiling typed-path v0.12.3
[INFO] [stderr]    Compiling shell-words v1.1.1
[INFO] [stderr]    Compiling ppmd-rust v1.4.0
[INFO] [stderr]    Compiling home v0.5.12
[INFO] [stderr]    Compiling toml_writer v1.1.0+spec-1.1.0
[INFO] [stderr]    Compiling winnow v0.7.14
[INFO] [stderr]    Compiling constant_time_eq v0.3.1
[INFO] [stderr]    Compiling harness-locate v0.6.0 (/opt/rustwide/workdir/crates/harness-locate)
[INFO] [stderr]    Compiling ureq v3.1.4
[INFO] [stderr]    Compiling ratatui-macros v0.7.0
[INFO] [stderr]    Compiling ratatui-crossterm v0.1.0
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling clap_derive v4.5.49
[INFO] [stderr]    Compiling zip v7.2.0
[INFO] [stderr]    Compiling console v0.15.11
[INFO] [stderr]    Compiling toml v0.9.12+spec-1.1.0
[INFO] [stderr]    Compiling console v0.16.2
[INFO] [stderr]    Compiling iana-time-zone v0.1.64
[INFO] [stderr]    Compiling smawk v0.3.2
[INFO] [stderr]    Compiling backtrace v0.3.76
[INFO] [stderr]    Compiling unicode-linebreak v0.1.5
[INFO] [stderr]    Compiling skills-locate v0.3.0 (/opt/rustwide/workdir/crates/skills-locate)
[INFO] [stderr]    Compiling dialoguer-multiselect v0.13.3
[INFO] [stderr]    Compiling clap v4.5.54
[INFO] [stderr]    Compiling textwrap v0.16.2
[INFO] [stderr]    Compiling chrono v0.4.43
[INFO] [stderr]    Compiling dialoguer v0.11.0
[INFO] [stderr]    Compiling color-eyre v0.6.5
[INFO] [stderr]    Compiling ratatui v0.30.0
[INFO] [stderr]    Compiling colored v3.1.1
[INFO] [stderr]    Compiling xen v0.3.0 (/opt/rustwide/workdir/crates/xen)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 2m 36s
[INFO] running `Command { std: "docker" "inspect" "e2b4159041cac1d20c86189f73bc938bfc3eefe691d47cad066dd812611c31a4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e2b4159041cac1d20c86189f73bc938bfc3eefe691d47cad066dd812611c31a4", kill_on_drop: false }`
[INFO] [stdout] e2b4159041cac1d20c86189f73bc938bfc3eefe691d47cad066dd812611c31a4
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+cced03bfd61a304243a34504618ecec86c17063f" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 153fc1838bd4103c728940daedf4ef996b9d45e5675b60e5b13f7dd91beebf9f
[INFO] running `Command { std: "docker" "start" "-a" "153fc1838bd4103c728940daedf4ef996b9d45e5675b60e5b13f7dd91beebf9f", kill_on_drop: false }`
[INFO] [stderr]    Compiling regex-automata v0.4.13
[INFO] [stderr]    Compiling assert_cmd v2.1.2
[INFO] [stderr]    Compiling wait-timeout v0.2.1
[INFO] [stderr]    Compiling regex v1.12.2
[INFO] [stderr]    Compiling bstr v1.12.1
[INFO] [stderr]    Compiling harness-locate v0.6.0 (/opt/rustwide/workdir/crates/harness-locate)
[INFO] [stderr]    Compiling predicates v3.1.3
[INFO] [stderr]    Compiling skills-locate v0.3.0 (/opt/rustwide/workdir/crates/skills-locate)
[INFO] [stderr]    Compiling xen v0.3.0 (/opt/rustwide/workdir/crates/xen)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 32.01s
[INFO] running `Command { std: "docker" "inspect" "153fc1838bd4103c728940daedf4ef996b9d45e5675b60e5b13f7dd91beebf9f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "153fc1838bd4103c728940daedf4ef996b9d45e5675b60e5b13f7dd91beebf9f", kill_on_drop: false }`
[INFO] [stdout] 153fc1838bd4103c728940daedf4ef996b9d45e5675b60e5b13f7dd91beebf9f
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+cced03bfd61a304243a34504618ecec86c17063f" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 601d7ccbe33e1ec70bbd2f1f2d674ce13777ddb14428b93f955298c2a5b87b8d
[INFO] running `Command { std: "docker" "start" "-a" "601d7ccbe33e1ec70bbd2f1f2d674ce13777ddb14428b93f955298c2a5b87b8d", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.49s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/harness_locate-652156fe1111e57c)
[INFO] [stdout] 
[INFO] [stdout] running 402 tests
[INFO] [stdout] test harness::amp_code::tests::commands_dir_global ... ok
[INFO] [stdout] test detection::tests::find_binary_returns_some_for_common_binary ... ok
[INFO] [stdout] test harness::amp_code::tests::config_dir_global ... ok
[INFO] [stdout] test harness::amp_code::tests::ambiguous_config_with_both_command_and_url_fails ... ok
[INFO] [stdout] test harness::amp_code::tests::config_dir_project_returns_unsupported_scope ... ok
[INFO] [stdout] test harness::amp_code::tests::global_config_dir_is_absolute ... ok
[INFO] [stdout] test detection::tests::find_binary_returns_none_for_nonexistent ... ok
[INFO] [stdout] test harness::amp_code::tests::infer_stdio_from_command_field ... ok
[INFO] [stdout] test harness::amp_code::tests::infer_http_from_url_field ... ok
[INFO] [stdout] test harness::amp_code::tests::mcp_dir_project_returns_unsupported_scope ... ok
[INFO] [stdout] test harness::amp_code::tests::neither_command_nor_url_fails ... ok
[INFO] [stdout] test harness::amp_code::tests::commands_dir_project ... ok
[INFO] [stdout] test harness::amp_code::tests::parse_env_value_with_dollar_brace_syntax ... ok
[INFO] [stdout] test harness::amp_code::tests::parse_http_server_basic ... ok
[INFO] [stdout] test harness::amp_code::tests::parse_http_server_with_headers ... ok
[INFO] [stdout] test harness::amp_code::tests::parse_mcp_server_args_not_array_fails ... ok
[INFO] [stdout] test harness::amp_code::tests::parse_mcp_server_env_not_object_fails ... ok
[INFO] [stdout] test harness::amp_code::tests::parse_mcp_server_missing_command_fails ... ok
[INFO] [stdout] test harness::amp_code::tests::parse_mcp_server_missing_url_for_http_fails ... ok
[INFO] [stdout] test harness::amp_code::tests::parse_mcp_server_missing_url_for_sse_fails ... ok
[INFO] [stdout] test harness::amp_code::tests::parse_mcp_server_unknown_type_fails ... ok
[INFO] [stdout] test harness::amp_code::tests::parse_mcp_servers_dotted_key_format ... ok
[INFO] [stdout] test harness::amp_code::tests::parse_mcp_servers_empty_config ... ok
[INFO] [stdout] test harness::amp_code::tests::parse_mcp_servers_nested_without_mcp_servers_returns_empty ... ok
[INFO] [stdout] test harness::amp_code::tests::parse_sse_server_basic ... ok
[INFO] [stdout] test harness::amp_code::tests::parse_mcp_server_headers_not_object_fails ... ok
[INFO] [stdout] test harness::amp_code::tests::parse_mcp_server_non_string_args_fails ... ok
[INFO] [stdout] test harness::amp_code::tests::parse_mcp_server_not_object_fails ... ok
[INFO] [stdout] test harness::amp_code::tests::parse_stdio_server_without_args ... ok
[INFO] [stdout] test harness::amp_code::tests::parse_mcp_servers_full_config ... ok
[INFO] [stdout] test harness::amp_code::tests::parse_mcp_servers_missing_config_returns_empty ... ok
[INFO] [stdout] test harness::amp_code::tests::parse_stdio_server_with_explicit_type ... ok
[INFO] [stdout] test harness::amp_code::tests::rules_dir_global ... ok
[INFO] [stdout] test harness::amp_code::tests::parse_sse_server_with_headers ... ok
[INFO] [stdout] test harness::amp_code::tests::parse_stdio_server_basic ... ok
[INFO] [stdout] test harness::amp_code::tests::parse_stdio_server_with_env ... ok
[INFO] [stdout] test harness::amp_code::tests::rules_dir_project_returns_root ... ok
[INFO] [stdout] test harness::amp_code::tests::skills_dir_project ... ok
[INFO] [stdout] test harness::claude_code::tests::agents_dir_global ... ok
[INFO] [stdout] test harness::claude_code::tests::agents_dir_project ... ok
[INFO] [stdout] test harness::amp_code::tests::skills_dir_global_shared_with_goose ... ok
[INFO] [stdout] test harness::claude_code::tests::commands_dir_global ... ok
[INFO] [stdout] test harness::claude_code::tests::commands_dir_project ... ok
[INFO] [stdout] test harness::claude_code::tests::global_config_dir_is_absolute ... ok
[INFO] [stdout] test harness::claude_code::tests::parse_env_value_with_dollar_brace_syntax ... ok
[INFO] [stdout] test harness::claude_code::tests::parse_http_server_basic ... ok
[INFO] [stdout] test harness::claude_code::tests::parse_http_server_with_headers ... ok
[INFO] [stdout] test harness::claude_code::tests::parse_mcp_server_args_not_array_fails ... ok
[INFO] [stdout] test harness::claude_code::tests::parse_mcp_server_env_not_object_fails ... ok
[INFO] [stdout] test harness::claude_code::tests::parse_mcp_server_headers_not_object_fails ... ok
[INFO] [stdout] test harness::claude_code::tests::parse_mcp_server_missing_command_fails ... ok
[INFO] [stdout] test harness::claude_code::tests::parse_mcp_server_missing_url_for_http_fails ... ok
[INFO] [stdout] test harness::claude_code::tests::parse_mcp_server_missing_url_for_sse_fails ... ok
[INFO] [stdout] test harness::claude_code::tests::parse_mcp_server_non_string_args_fails ... ok
[INFO] [stdout] test harness::claude_code::tests::parse_mcp_server_not_object_fails ... ok
[INFO] [stdout] test harness::claude_code::tests::parse_mcp_server_unknown_type_fails ... ok
[INFO] [stdout] test harness::claude_code::tests::parse_mcp_servers_empty_config ... ok
[INFO] [stdout] test harness::claude_code::tests::parse_mcp_servers_full_config ... ok
[INFO] [stdout] test harness::claude_code::tests::parse_mcp_servers_mcp_servers_not_object_fails ... ok
[INFO] [stdout] test harness::claude_code::tests::parse_stdio_server_basic ... ok
[INFO] [stdout] test harness::claude_code::tests::parse_sse_server_basic ... ok
[INFO] [stdout] test harness::claude_code::tests::parse_stdio_server_with_env ... ok
[INFO] [stdout] test harness::claude_code::tests::parse_sse_server_with_headers ... ok
[INFO] [stdout] test harness::claude_code::tests::parse_stdio_server_with_explicit_type ... ok
[INFO] [stdout] test harness::claude_code::tests::parse_mcp_servers_missing_mcp_servers_key_fails ... ok
[INFO] [stdout] test harness::claude_code::tests::roundtrip_sse_server ... ok
[INFO] [stdout] test harness::claude_code::tests::rules_dir_global_returns_config_dir ... ok
[INFO] [stdout] test harness::claude_code::tests::roundtrip_stdio_server ... ok
[INFO] [stdout] test harness::claude_code::tests::rules_dir_project_returns_root ... ok
[INFO] [stdout] test harness::claude_code::tests::plugins_dir_project ... ok
[INFO] [stdout] test harness::claude_code::tests::plugins_dir_global ... ok
[INFO] [stdout] test harness::claude_code::tests::project_config_dir_is_relative_to_root ... ok
[INFO] [stdout] test harness::claude_code::tests::roundtrip_http_server ... ok
[INFO] [stdout] test harness::claude_code::tests::parse_stdio_server_without_args ... ok
[INFO] [stdout] test harness::claude_code::tests::skills_dir_project ... ok
[INFO] [stdout] test harness::copilot_cli::tests::agents_dir_global ... ok
[INFO] [stdout] test harness::copilot_cli::tests::global_config_dir_is_absolute ... ok
[INFO] [stdout] test harness::copilot_cli::tests::agents_dir_project_uses_github_dir ... ok
[INFO] [stdout] test harness::claude_code::tests::skills_dir_global ... ok
[INFO] [stdout] test harness::copilot_cli::tests::parse_local_server_basic ... ok
[INFO] [stdout] test harness::copilot_cli::tests::parse_mcp_server_missing_command_fails ... ok
[INFO] [stdout] test harness::copilot_cli::tests::parse_mcp_servers_empty_config ... ok
[INFO] [stdout] test harness::copilot_cli::tests::parse_mcp_servers_missing_mcp_servers_key_fails ... ok
[INFO] [stdout] test harness::copilot_cli::tests::parse_sse_server_basic ... ok
[INFO] [stdout] test harness::copilot_cli::tests::parse_sse_server_with_headers ... ok
[INFO] [stdout] test harness::copilot_cli::tests::parse_stdio_server_basic ... ok
[INFO] [stdout] test harness::copilot_cli::tests::parse_stdio_server_with_env ... ok
[INFO] [stdout] test harness::copilot_cli::tests::project_config_dir_is_relative_to_root ... ok
[INFO] [stdout] test harness::copilot_cli::tests::parse_stdio_server_with_timeout ... ok
[INFO] [stdout] test harness::copilot_cli::tests::rules_dir_project_uses_github_dir ... ok
[INFO] [stdout] test harness::copilot_cli::tests::rules_dir_global_returns_config_dir ... ok
[INFO] [stdout] test harness::copilot_cli::tests::parse_http_server_basic ... ok
[INFO] [stdout] test harness::copilot_cli::tests::skills_dir_project_unsupported ... ok
[INFO] [stdout] test harness::crush::tests::mcp_dir_returns_config_dir ... ok
[INFO] [stdout] test harness::copilot_cli::tests::skills_dir_global ... ok
[INFO] [stdout] test harness::copilot_cli::tests::parse_local_server_with_env ... ok
[INFO] [stdout] test harness::crush::tests::global_config_dir_is_absolute ... ok
[INFO] [stdout] test harness::crush::tests::commands_dir_returns_config_dir ... ok
[INFO] [stdout] test harness::crush::tests::parse_http_server_basic ... ok
[INFO] [stdout] test harness::crush::tests::parse_http_server_headers_not_object_fails ... ok
[INFO] [stdout] test harness::crush::tests::parse_http_server_missing_url ... ok
[INFO] [stdout] test harness::crush::tests::parse_http_server_non_string_header_value_fails ... ok
[INFO] [stdout] test harness::crush::tests::parse_http_server_with_headers ... ok
[INFO] [stdout] test harness::crush::tests::parse_mcp_server_missing_type ... ok
[INFO] [stdout] test harness::crush::tests::parse_mcp_servers_empty_mcp ... ok
[INFO] [stdout] test harness::crush::tests::parse_mcp_servers_errors_on_invalid ... ok
[INFO] [stdout] test harness::crush::tests::parse_sse_server_missing_url ... ok
[INFO] [stdout] test harness::crush::tests::parse_mcp_server_unknown_type ... ok
[INFO] [stdout] test harness::crush::tests::parse_stdio_server_args_not_array_fails ... ok
[INFO] [stdout] test harness::crush::tests::parse_mcp_servers_basic ... ok
[INFO] [stdout] test harness::crush::tests::parse_mcp_servers_missing_mcp_key ... ok
[INFO] [stdout] test harness::crush::tests::parse_stdio_server_basic ... ok
[INFO] [stdout] test harness::crush::tests::parse_stdio_server_disabled ... ok
[INFO] [stdout] test harness::crush::tests::parse_stdio_server_env_not_object_fails ... ok
[INFO] [stdout] test harness::crush::tests::parse_stdio_server_missing_command ... ok
[INFO] [stdout] test harness::crush::tests::parse_sse_server_basic ... ok
[INFO] [stdout] test harness::crush::tests::parse_stdio_server_without_args ... ok
[INFO] [stdout] test harness::crush::tests::parse_stdio_server_non_string_args_fails ... ok
[INFO] [stdout] test harness::crush::tests::parse_stdio_server_non_string_env_value_fails ... ok
[INFO] [stdout] test harness::crush::tests::project_config_dir_is_relative_to_root ... ok
[INFO] [stdout] test harness::crush::tests::rules_dir_project_returns_root ... ok
[INFO] [stdout] test harness::crush::tests::skills_dir_global_returns_crush_skills ... ok
[INFO] [stdout] test harness::crush::tests::parse_stdio_server_without_env ... ok
[INFO] [stdout] test harness::crush::tests::parse_stdio_server_with_env ... ok
[INFO] [stdout] test harness::crush::tests::rules_dir_global_returns_config ... ok
[INFO] [stdout] test harness::droid::tests::commands_dir_project ... ok
[INFO] [stdout] test harness::droid::tests::agents_dir_project ... ok
[INFO] [stdout] test harness::droid::tests::global_config_dir_is_absolute ... ok
[INFO] [stdout] test harness::droid::tests::agents_dir_returns_droids_path ... ok
[INFO] [stdout] test harness::crush::tests::skills_dir_project_returns_dot_crush_skills ... ok
[INFO] [stdout] test harness::droid::tests::parse_mcp_server_missing_command_fails ... ok
[INFO] [stdout] test harness::droid::tests::parse_http_server_basic ... ok
[INFO] [stdout] test harness::droid::tests::parse_http_server_with_headers ... ok
[INFO] [stdout] test harness::droid::tests::parse_mcp_server_missing_url_for_http_fails ... ok
[INFO] [stdout] test harness::droid::tests::commands_dir_global ... ok
[INFO] [stdout] test harness::droid::tests::parse_mcp_server_unknown_type_fails ... ok
[INFO] [stdout] test harness::droid::tests::parse_mcp_servers_empty_config ... ok
[INFO] [stdout] test harness::droid::tests::parse_mcp_servers_full_config ... ok
[INFO] [stdout] test harness::droid::tests::parse_sse_server_with_headers ... ok
[INFO] [stdout] test harness::droid::tests::parse_mcp_servers_missing_mcp_servers_key_fails ... ok
[INFO] [stdout] test harness::droid::tests::parse_stdio_server_with_disabled ... ok
[INFO] [stdout] test harness::droid::tests::parse_stdio_server_with_timeout ... ok
[INFO] [stdout] test harness::droid::tests::project_config_dir_is_relative_to_root ... ok
[INFO] [stdout] test harness::droid::tests::rules_dir_global_returns_config_dir ... ok
[INFO] [stdout] test harness::droid::tests::rules_dir_project_returns_root ... ok
[INFO] [stdout] test harness::droid::tests::skills_dir_global ... ok
[INFO] [stdout] test harness::droid::tests::skills_dir_project ... ok
[INFO] [stdout] test harness::goose::tests::commands_dir_returns_config_dir ... ok
[INFO] [stdout] test harness::goose::tests::global_config_dir_is_absolute ... ok
[INFO] [stdout] test harness::goose::tests::mcp_dir_returns_config_dir ... ok
[INFO] [stdout] test harness::goose::tests::parse_http_server_headers_not_object_fails ... ok
[INFO] [stdout] test harness::goose::tests::parse_http_server_basic ... ok
[INFO] [stdout] test harness::goose::tests::parse_http_server_missing_uri ... ok
[INFO] [stdout] test harness::goose::tests::parse_http_server_non_string_header_value_fails ... ok
[INFO] [stdout] test harness::goose::tests::parse_http_server_with_headers ... ok
[INFO] [stdout] test harness::goose::tests::parse_mcp_server_missing_type ... ok
[INFO] [stdout] test harness::goose::tests::parse_mcp_server_unknown_type ... ok
[INFO] [stdout] test harness::goose::tests::parse_mcp_servers_basic ... ok
[INFO] [stdout] test harness::goose::tests::parse_mcp_servers_empty_extensions ... ok
[INFO] [stdout] test harness::goose::tests::parse_mcp_servers_errors_on_invalid ... ok
[INFO] [stdout] test harness::goose::tests::parse_mcp_servers_missing_extensions ... ok
[INFO] [stdout] test harness::goose::tests::parse_sse_server_basic ... ok
[INFO] [stdout] test harness::goose::tests::parse_sse_server_missing_uri ... ok
[INFO] [stdout] test harness::goose::tests::parse_stdio_server_args_not_array_fails ... ok
[INFO] [stdout] test harness::goose::tests::parse_stdio_server_basic ... ok
[INFO] [stdout] test harness::goose::tests::parse_stdio_server_defaults_enabled_to_true ... ok
[INFO] [stdout] test harness::goose::tests::parse_stdio_server_disabled ... ok
[INFO] [stdout] test harness::goose::tests::parse_stdio_server_envs_not_object_fails ... ok
[INFO] [stdout] test harness::goose::tests::parse_stdio_server_missing_cmd ... ok
[INFO] [stdout] test harness::goose::tests::parse_stdio_server_non_string_args_fails ... ok
[INFO] [stdout] test harness::goose::tests::parse_stdio_server_non_string_env_value_fails ... ok
[INFO] [stdout] test harness::goose::tests::parse_stdio_server_without_args ... ok
[INFO] [stdout] test harness::goose::tests::parse_stdio_server_timeout_converts_to_milliseconds ... ok
[INFO] [stdout] test harness::goose::tests::parse_stdio_server_with_envs ... ok
[INFO] [stdout] test harness::goose::tests::roundtrip_stdio_with_full_config ... ok
[INFO] [stdout] test harness::goose::tests::parse_stdio_server_without_envs ... ok
[INFO] [stdout] test harness::goose::tests::rules_dir_global_returns_config ... ok
[INFO] [stdout] test harness::goose::tests::project_config_dir_is_relative_to_root ... ok
[INFO] [stdout] test harness::droid::tests::parse_sse_server_with_url_only ... ok
[INFO] [stdout] test harness::goose::tests::rules_dir_project_returns_root ... ok
[INFO] [stdout] test harness::droid::tests::parse_stdio_server_basic ... ok
[INFO] [stdout] test harness::goose::tests::skills_dir_global_returns_agents_skills ... ok
[INFO] [stdout] test harness::goose::tests::skills_dir_project_returns_dot_agents_skills ... ok
[INFO] [stdout] test harness::mcp_parse::tests::parse_disabled_field ... ok
[INFO] [stdout] test harness::mcp_parse::tests::parse_enabled_default_true ... ok
[INFO] [stdout] test harness::mcp_parse::tests::parse_http_server_basic ... ok
[INFO] [stdout] test harness::droid::tests::parse_stdio_server_with_env ... ok
[INFO] [stdout] test harness::mcp_parse::tests::parse_env_map_with_env_ref ... ok
[INFO] [stdout] test harness::mcp_parse::tests::parse_sse_server_basic ... ok
[INFO] [stdout] test harness::mcp_parse::tests::parse_oauth_config ... ok
[INFO] [stdout] test harness::mcp_parse::tests::parse_enabled_explicit_false ... ok
[INFO] [stdout] test harness::mcp_parse::tests::parse_env_map_plain ... ok
[INFO] [stdout] test harness::mcp_parse::tests::parse_stdio_server_basic ... ok
[INFO] [stdout] test harness::mcp_parse::tests::parse_string_array_empty ... ok
[INFO] [stdout] test harness::mcp_parse::tests::parse_string_array_basic ... ok
[INFO] [stdout] test harness::mcp_parse::tests::parse_timeout_in_ms ... ok
[INFO] [stdout] test harness::mcp_parse::tests::parse_timeout_in_seconds ... ok
[INFO] [stdout] test harness::mcp_parse::tests::parse_stdio_server_goose_style ... ok
[INFO] [stdout] test harness::opencode::tests::global_config_dir_is_absolute ... ok
[INFO] [stdout] test harness::opencode::tests::parse_local_server_basic ... ok
[INFO] [stdout] test harness::opencode::tests::commands_dir_global ... ok
[INFO] [stdout] test harness::opencode::tests::parse_local_server_empty_command ... ok
[INFO] [stdout] test harness::opencode::tests::parse_local_server_missing_command ... ok
[INFO] [stdout] test harness::opencode::tests::mcp_dir_global ... ok
[INFO] [stdout] test harness::opencode::tests::commands_dir_project ... ok
[INFO] [stdout] test harness::opencode::tests::parse_local_server_with_timeout ... ok
[INFO] [stdout] test harness::opencode::tests::parse_local_server_with_environment ... ok
[INFO] [stdout] test harness::opencode::tests::parse_mcp_server_missing_type ... ok
[INFO] [stdout] test harness::opencode::tests::parse_mcp_servers_errors_on_invalid ... ok
[INFO] [stdout] test harness::opencode::tests::parse_mcp_server_invalid_type ... ok
[INFO] [stdout] test harness::opencode::tests::parse_mcp_servers_full_example ... ok
[INFO] [stdout] test harness::opencode::tests::parse_mcp_servers_basic ... ok
[INFO] [stdout] test harness::opencode::tests::parse_mcp_servers_empty ... ok
[INFO] [stdout] test harness::opencode::tests::parse_mcp_servers_includes_disabled ... ok
[INFO] [stdout] test harness::opencode::tests::parse_remote_server_basic ... ok
[INFO] [stdout] test harness::opencode::tests::parse_mcp_servers_missing_mcp_key ... ok
[INFO] [stdout] test harness::opencode::tests::parse_remote_server_oauth_invalid_client_secret_type ... ok
[INFO] [stdout] test harness::opencode::tests::parse_remote_server_missing_url ... ok
[INFO] [stdout] test harness::opencode::tests::parse_remote_server_oauth_invalid_client_id_type ... ok
[INFO] [stdout] test harness::opencode::tests::parse_remote_server_with_oauth ... ok
[INFO] [stdout] test harness::opencode::tests::parse_remote_server_with_timeout ... ok
[INFO] [stdout] test harness::opencode::tests::parse_remote_server_oauth_invalid_scope_type ... ok
[INFO] [stdout] test harness::opencode::tests::parse_remote_server_with_headers ... ok
[INFO] [stdout] test harness::opencode::tests::parse_local_server_disabled ... ok
[INFO] [stdout] test harness::opencode::tests::rules_dir_project_returns_root ... ok
[INFO] [stdout] test harness::opencode::tests::skills_dir_global ... ok
[INFO] [stdout] test harness::opencode::tests::skills_dir_project ... ok
[INFO] [stdout] test harness::tests::agents_none_for_goose ... ok
[INFO] [stdout] test harness::opencode::tests::project_config_dir_is_relative_to_root ... ok
[INFO] [stdout] test harness::tests::commands_none_for_goose ... ok
[INFO] [stdout] test harness::tests::config_global_for_goose ... ok
[INFO] [stdout] test harness::tests::config_global_for_opencode ... ok
[INFO] [stdout] test harness::tests::config_project_for_goose ... ok
[INFO] [stdout] test harness::tests::config_project_for_opencode ... ok
[INFO] [stdout] test harness::tests::agents_for_claude_code ... ok
[INFO] [stdout] test harness::tests::commands_for_claude_code ... ok
[INFO] [stdout] test harness::tests::config_project_for_claude_code ... ok
[INFO] [stdout] test harness::tests::harness_kind_all_contains_all_variants ... ok
[INFO] [stdout] test harness::tests::locate_claude_code_when_installed ... ok
[INFO] [stdout] test harness::tests::locate_goose_when_installed ... ok
[INFO] [stdout] test harness::tests::locate_opencode_when_installed ... ok
[INFO] [stdout] test harness::tests::mcp_capabilities_returns_correct_for_each_harness ... ok
[INFO] [stdout] test harness::tests::mcp_returns_config_resource ... ok
[INFO] [stdout] test harness::tests::mcp_to_native_goose_env_vars_resolved ... ok
[INFO] [stdout] test harness::tests::config_global_for_claude_code ... ok
[INFO] [stdout] test harness::opencode::tests::parse_local_server_enabled_defaults_true ... ok
[INFO] [stdout] test harness::opencode::tests::rules_dir_global_returns_none ... ok
[INFO] [stdout] test harness::tests::mcp_to_native_goose_http_with_oauth_unsupported ... ok
[INFO] [stdout] test harness::tests::mcp_to_native_goose_sse_unsupported ... ok
[INFO] [stdout] test harness::tests::mcp_to_native_goose_stdio ... ok
[INFO] [stdout] test harness::tests::mcp_to_native_opencode_http_without_oauth ... ok
[INFO] [stdout] test harness::tests::mcp_to_native_opencode_http_with_oauth ... ok
[INFO] [stdout] test harness::tests::mcp_to_native_opencode_command_array_format ... ok
[INFO] [stdout] test harness::tests::mcp_to_native_opencode_sse ... ok
[INFO] [stdout] test harness::tests::mcp_to_native_goose_timeout_unsupported ... ok
[INFO] [stdout] test harness::tests::installed_returns_only_installed_harnesses ... ok
[INFO] [stdout] test harness::tests::new_creates_harness_without_installation_check ... ok
[INFO] [stdout] test harness::tests::mcp_to_native_opencode_stdio ... ok
[INFO] [stdout] test harness::tests::parse_mcp_config_opencode ... ok
[INFO] [stdout] test harness::tests::parse_mcp_config_goose ... ok
[INFO] [stdout] test harness::tests::parse_mcp_config_claude_code ... ok
[INFO] [stdout] test harness::tests::is_installed_matches_locate ... ok
[INFO] [stdout] test harness::tests::parse_mcp_config_opencode_includes_disabled ... ok
[INFO] [stdout] test harness::tests::parse_mcp_server_config_error_includes_name ... ok
[INFO] [stdout] test harness::tests::plugins_for_claude_code ... ok
[INFO] [stdout] test harness::tests::plugins_none_for_goose ... ok
[INFO] [stdout] test harness::tests::rules_global_for_goose ... ok
[INFO] [stdout] test harness::tests::rules_for_claude_code_global ... ok
[INFO] [stdout] test harness::tests::skills_for_goose_global ... ok
[INFO] [stdout] test harness::tests::skills_for_claude_code ... ok
[INFO] [stdout] test harness::copilot_cli::tests::parse_mcp_servers_full_config ... ok
[INFO] [stdout] test harness::tests::skills_for_opencode ... ok
[INFO] [stdout] test harness::tests::mcp_to_native_goose_http ... ok
[INFO] [stdout] test harness::tests::supports_mcp_server_sse ... ok
[INFO] [stdout] test harness::tests::supports_mcp_server_stdio_basic ... ok
[INFO] [stdout] test harness::tests::supports_mcp_server_http_with_oauth ... ok
[INFO] [stdout] test mcp::tests::empty_collections_not_serialized ... ok
[INFO] [stdout] test harness::tests::supports_mcp_server_stdio_with_timeout ... ok
[INFO] [stdout] test harness::tests::rules_project_root_for_claude_code ... ok
[INFO] [stdout] test harness::tests::skills_for_goose_project ... ok
[INFO] [stdout] test mcp::tests::enabled_defaults_to_true ... ok
[INFO] [stdout] test harness::tests::rules_project_root_for_goose ... ok
[INFO] [stdout] test mcp::tests::env_var_names_stdio_extracts_env_refs ... ok
[INFO] [stdout] test mcp::tests::env_var_names_empty_when_no_env_refs ... ok
[INFO] [stdout] test mcp::tests::mcp_capabilities_default_is_all_false ... ok
[INFO] [stdout] test mcp::tests::mcp_capabilities_for_claude_code ... ok
[INFO] [stdout] test mcp::tests::http_server_serialization_roundtrip ... ok
[INFO] [stdout] test mcp::tests::env_values_in_server_config ... ok
[INFO] [stdout] test mcp::tests::env_var_names_http_includes_oauth_secret ... ok
[INFO] [stdout] test mcp::tests::mcp_capabilities_for_goose ... ok
[INFO] [stdout] test mcp::tests::mcp_capabilities_serialization ... ok
[INFO] [stdout] test mcp::tests::missing_env_vars_returns_unset_vars ... ok
[INFO] [stdout] test mcp::tests::mcp_capabilities_for_opencode ... ok
[INFO] [stdout] test mcp::tests::sse_server_serialization_roundtrip ... ok
[INFO] [stdout] test mcp::tests::oauth_config_serialization_roundtrip ... ok
[INFO] [stdout] test mcp::tests::to_native_value_stdio_claude_code ... ok
[INFO] [stdout] test mcp::tests::to_native_value_stdio_goose ... ok
[INFO] [stdout] test mcp::tests::transport_tag_in_json ... ok
[INFO] [stdout] test mcp::tests::validate_capabilities_http_rejected_by_ampcode ... ok
[INFO] [stdout] test mcp::tests::to_native_value_http_claude_code ... ok
[INFO] [stdout] test mcp::tests::to_native_value_stdio_opencode ... ok
[INFO] [stdout] test mcp::tests::validate_capabilities_sse_rejected_by_goose ... ok
[INFO] [stdout] test platform::linux::tests::config_dir_default_is_dot_config ... ok
[INFO] [stdout] test mcp::tests::stdio_server_serialization_roundtrip ... ok
[INFO] [stdout] test platform::linux::tests::relative_xdg_paths_fall_back_to_default ... ok
[INFO] [stdout] test platform::linux::tests::data_dir_respects_xdg_data_home ... ok
[INFO] [stdout] test mcp::tests::validate_capabilities_stdio_always_passes ... ok
[INFO] [stdout] test platform::linux::tests::empty_xdg_vars_fall_back_to_default ... ok
[INFO] [stdout] test platform::tests::data_dir_exists ... ok
[INFO] [stdout] test platform::tests::config_dir_exists ... ok
[INFO] [stdout] test platform::tests::home_dir_exists ... ok
[INFO] [stdout] test skill::tests::handles_crlf_line_endings ... ok
[INFO] [stdout] test skill::tests::handles_frontmatter_at_eof ... ok
[INFO] [stdout] test skill::tests::handles_empty_frontmatter ... ok
[INFO] [stdout] test skill::tests::handles_empty_body ... ok
[INFO] [stdout] test skill::tests::parse_skill_handles_empty_body ... ok
[INFO] [stdout] test skill::tests::parse_skill_with_minimal_fields ... ok
[INFO] [stdout] test skill::tests::parse_skill_fails_without_name ... ok
[INFO] [stdout] test skill::tests::parse_skill_captures_unknown_keys ... ok
[INFO] [stdout] test skill::tests::parse_skill_fails_without_frontmatter ... ok
[INFO] [stdout] test skill::tests::parse_skill_with_all_fields ... ok
[INFO] [stdout] test skill::tests::preserves_horizontal_rules_in_body ... ok
[INFO] [stdout] test skill::tests::returns_none_without_frontmatter ... ok
[INFO] [stdout] test skill::tests::returns_error_for_malformed_yaml ... ok
[INFO] [stdout] test skill::tests::parses_standard_frontmatter ... ok
[INFO] [stdout] test types::tests::binary_names_claude_code ... ok
[INFO] [stdout] test types::tests::binary_names_returns_static_slice ... ok
[INFO] [stdout] test types::tests::directory_names_all_harnesses_support_skills ... ok
[INFO] [stdout] test skill::tests::skill_round_trip_preserves_content ... ok
[INFO] [stdout] test platform::linux::tests::config_dir_respects_xdg_config_home ... ok
[INFO] [stdout] test platform::linux::tests::data_dir_default_is_local_share ... ok
[INFO] [stdout] test types::tests::binary_names_goose ... ok
[INFO] [stdout] test types::tests::binary_names_opencode ... ok
[INFO] [stdout] test types::tests::directory_names_claude_code_plural ... ok
[INFO] [stdout] test types::tests::directory_names_unsupported_returns_none ... ok
[INFO] [stdout] test types::tests::directory_names_opencode_singular ... ok
[INFO] [stdout] test types::tests::env_constructor ... ok
[INFO] [stdout] test types::tests::from_native_claude_code_parses_env_ref ... ok
[INFO] [stdout] test types::tests::from_native_goose_always_plain ... ok
[INFO] [stdout] test types::tests::from_native_opencode_parses_env_ref ... ok
[INFO] [stdout] test types::tests::from_native_opencode_plain_for_non_matching ... ok
[INFO] [stdout] test types::tests::installation_status_accessors ... ok
[INFO] [stdout] test types::tests::installation_status_is_runnable ... ok
[INFO] [stdout] test types::tests::from_native_claude_code_plain_for_non_matching ... ok
[INFO] [stdout] test types::tests::plain_constructor ... ok
[INFO] [stdout] test types::tests::resolve_env_ref_returns_none_when_unset ... ok
[INFO] [stdout] test types::tests::resolve_env_ref_returns_value_when_set ... ok
[INFO] [stdout] test types::tests::resolve_plain_returns_value ... ok
[INFO] [stdout] test types::tests::serde_env_ref_roundtrip ... ok
[INFO] [stdout] test types::tests::serde_deserialize_env_ref_from_object ... ok
[INFO] [stdout] test types::tests::serde_plain_string_roundtrip ... ok
[INFO] [stdout] test types::tests::serde_deserialize_plain_from_string ... ok
[INFO] [stdout] test types::tests::to_native_goose_resolves_env_var ... ok
[INFO] [stdout] test types::tests::to_native_goose_returns_empty_for_unset_var ... ok
[INFO] [stdout] test types::tests::to_native_claude_code_format ... ok
[INFO] [stdout] test types::tests::to_native_opencode_format ... ok
[INFO] [stdout] test types::tests::to_native_plain_returns_value_unchanged ... ok
[INFO] [stdout] test types::tests::try_to_native_goose_fails_when_var_unset ... ok
[INFO] [stdout] test types::tests::try_to_native_goose_succeeds_when_var_set ... ok
[INFO] [stdout] test types::tests::try_to_native_plain_always_succeeds ... ok
[INFO] [stdout] test types::tests::try_to_native_template_harnesses_always_succeed ... ok
[INFO] [stdout] test validation::tests::claude_code_accepts_any_skill_name ... ok
[INFO] [stdout] test validation::tests::claude_code_accepts_named_color ... ok
[INFO] [stdout] test validation::tests::disabled_on_opencode_returns_no_warning ... ok
[INFO] [stdout] test validation::tests::excessive_timeout_returns_warning ... ok
[INFO] [stdout] test validation::tests::ftp_scheme_returns_error ... ok
[INFO] [stdout] test validation::tests::cwd_on_any_harness_returns_error ... ok
[INFO] [stdout] test validation::tests::claude_code_accepts_comma_string_tools ... ok
[INFO] [stdout] test validation::tests::disabled_on_claude_code_returns_warning ... ok
[INFO] [stdout] test validation::tests::empty_command_returns_error ... ok
[INFO] [stdout] test validation::tests::goose_returns_unsupported_error ... ok
[INFO] [stdout] test validation::tests::goose_returns_skill_unsupported ... ok
[INFO] [stdout] test validation::tests::invalid_mode_returns_error ... ok
[INFO] [stdout] test validation::tests::missing_frontmatter_is_valid ... ok
[INFO] [stdout] test validation::tests::invalid_yaml_returns_parse_error ... ok
[INFO] [stdout] test validation::tests::invalid_url_returns_error ... ok
[INFO] [stdout] test validation::tests::is_hex_color_validates_correctly ... ok
[INFO] [stdout] test validation::tests::normal_timeout_returns_no_issues ... ok
[INFO] [stdout] test validation::tests::normal_env_name_returns_no_issues ... ok
[INFO] [stdout] test validation::tests::opencode_accepts_hex_color ... ok
[INFO] [stdout] test validation::tests::opencode_accepts_boolean_record_tools ... ok
[INFO] [stdout] test validation::tests::multiple_issues_collected ... ok
[INFO] [stdout] test validation::tests::opencode_rejects_named_color ... ok
[INFO] [stdout] test validation::tests::opencode_rejects_comma_string_tools ... ok
[INFO] [stdout] test validation::tests::skill_capabilities_for_claude_code ... ok
[INFO] [stdout] test validation::tests::skill_capabilities_for_opencode ... ok
[INFO] [stdout] test validation::tests::skill_invalid_yaml_returns_parse_error ... ok
[INFO] [stdout] test validation::tests::opencode_rejects_uppercase_skill_name ... ok
[INFO] [stdout] test validation::tests::opencode_accepts_valid_skill ... ok
[INFO] [stdout] test validation::tests::opencode_rejects_long_description ... ok
[INFO] [stdout] test validation::tests::opencode_rejects_name_directory_mismatch ... ok
[INFO] [stdout] test validation::tests::opencode_warns_missing_description ... ok
[INFO] [stdout] test validation::tests::opencode_rejects_long_skill_name ... ok
[INFO] [stdout] test validation::tests::suspicious_env_name_returns_warning ... ok
[INFO] [stdout] test validation::tests::sse_on_opencode_returns_no_warning ... ok
[INFO] [stdout] test validation::tests::sse_on_claude_code_returns_warning ... ok
[INFO] [stdout] test validation::tests::valid_command_returns_no_issues ... ok
[INFO] [stdout] test validation::tests::skill_name_regex_validates_correctly ... ok
[INFO] [stdout] test validation::tests::valid_https_url_returns_no_issues ... ok
[INFO] [stdout] test validation::tests::valid_config_returns_empty_vec ... ok
[INFO] [stdout] test validation::tests::valid_mode_accepted ... ok
[INFO] [stdout] test validation::tests::validate_for_harness_includes_base_validation ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 402 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.07s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/skills_locate-551fe683f5746c85)
[INFO] [stdout] 
[INFO] [stdout] running 105 tests
[INFO] [stdout] test component::agent::tests::parses_tools_as_list ... ok
[INFO] [stdout] test component::agent::tests::parses_full_agent_frontmatter ... ok
[INFO] [stdout] test component::agent::tests::rejects_empty_name ... ok
[INFO] [stdout] test component::agent::tests::rejects_missing_name ... ok
[INFO] [stdout] test component::agent::tests::rejects_missing_frontmatter ... ok
[INFO] [stdout] test component::command::tests::derives_name_from_filename_when_not_in_frontmatter ... ok
[INFO] [stdout] test component::agent::tests::handles_empty_tools ... ok
[INFO] [stdout] test component::command::tests::parses_command_with_explicit_name ... ok
[INFO] [stdout] test component::command::tests::rejects_empty_name ... ok
[INFO] [stdout] test component::command::tests::rejects_missing_frontmatter ... ok
[INFO] [stdout] test component::hook::tests::hook_action_extended_serde ... ok
[INFO] [stdout] test component::hook::tests::hook_action_simple_serde ... ok
[INFO] [stdout] test component::hook::tests::hook_event_serde_roundtrip ... ok
[INFO] [stdout] test component::hook::tests::hook_group_with_matcher ... ok
[INFO] [stdout] test component::hook::tests::parse_empty_hooks_json ... ok
[INFO] [stdout] test component::hook::tests::parse_full_hooks_json ... ok
[INFO] [stdout] test component::hook::tests::parse_invalid_json_returns_error ... ok
[INFO] [stdout] test component::manifest::tests::convert_to_http_server ... ok
[INFO] [stdout] test component::manifest::tests::convert_to_stdio_server ... ok
[INFO] [stdout] test component::manifest::tests::extract_required_env_vars ... ok
[INFO] [stdout] test component::manifest::tests::parse_http_manifest ... ok
[INFO] [stdout] test component::manifest::tests::parse_stdio_manifest ... ok
[INFO] [stdout] test component::mcp::tests::parse_empty_mcp_json ... ok
[INFO] [stdout] test component::mcp::tests::parse_http_server ... ok
[INFO] [stdout] test component::mcp::tests::parse_invalid_json_returns_error ... ok
[INFO] [stdout] test component::mcp::tests::parse_minimal_server ... ok
[INFO] [stdout] test component::mcp::tests::parse_multiple_servers ... ok
[INFO] [stdout] test component::mcp::tests::parse_single_stdio_server ... ok
[INFO] [stdout] test component::mcp::tests::parse_sse_server ... ok
[INFO] [stdout] test component::mcp::tests::parse_wrapped_format ... ok
[INFO] [stdout] test component::npm::tests::detect_mcp_prefixed_package ... ok
[INFO] [stdout] test component::npm::tests::detect_modelcontextprotocol_package ... ok
[INFO] [stdout] test component::npm::tests::detect_package_with_mcp_dependency ... ok
[INFO] [stdout] test component::npm::tests::invalid_json_returns_none ... ok
[INFO] [stdout] test component::npm::tests::missing_name_returns_none ... ok
[INFO] [stdout] test component::npm::tests::non_mcp_package_returns_none ... ok
[INFO] [stdout] test component::python::tests::creates_correct_server_config ... ok
[INFO] [stdout] test component::python::tests::detects_in_optional_dependencies ... ok
[INFO] [stdout] test component::python::tests::detects_mcp_suffixed_packages ... ok
[INFO] [stdout] test component::python::tests::detects_mcp_in_project_dependencies ... ok
[INFO] [stdout] test component::python::tests::detects_mcp_prefixed_packages ... ok
[INFO] [stdout] test component::python::tests::ignores_non_mcp_packages ... ok
[INFO] [stdout] test component::python::tests::detects_in_poetry_dependencies ... ok
[INFO] [stdout] test component::skill::tests::error_empty_name ... ok
[INFO] [stdout] test component::skill::tests::error_missing_frontmatter ... ok
[INFO] [stdout] test component::skill::tests::error_missing_name ... ok
[INFO] [stdout] test component::skill::tests::parse_minimal_skill ... ok
[INFO] [stdout] test component::skill::tests::parse_crlf_line_endings ... ok
[INFO] [stdout] test detect::tests::detect_empty_files ... ok
[INFO] [stdout] test component::skill::tests::parse_full_skill ... ok
[INFO] [stdout] test detect::tests::detect_from_manifest_high_confidence ... ok
[INFO] [stdout] test detect::tests::detect_from_mcp_json_high_confidence ... ok
[INFO] [stdout] test detect::tests::detect_from_package_json_medium_confidence ... ok
[INFO] [stdout] test detect::tests::detect_from_pyproject_medium_confidence ... ok
[INFO] [stdout] test detect::tests::detect_priority_ordering ... ok
[INFO] [stdout] test discovery::tests::discover_anthropics_claude_code ... ignored, requires network
[INFO] [stdout] test discovery::tests::derive_plugin_name_from_path ... ok
[INFO] [stdout] test discovery::tests::extract_plugins_dir_path_invalid ... ok
[INFO] [stdout] test discovery::tests::extract_plugins_dir_path_valid ... ok
[INFO] [stdout] test error::tests::error_display_github_parse ... ok
[INFO] [stdout] test discovery::tests::resolve_plugin_path_strips_prefix ... ok
[INFO] [stdout] test error::tests::error_display_http ... ok
[INFO] [stdout] test error::tests::error_display_invalid_url ... ok
[INFO] [stdout] test error::tests::error_display_zip_extract ... ok
[INFO] [stdout] test error::tests::error_from_io ... ok
[INFO] [stdout] test error::tests::error_display_not_found ... ok
[INFO] [stdout] test error::tests::error_display_size_limit ... ok
[INFO] [stdout] test github::tests::archive_url_format ... ok
[INFO] [stdout] test github::tests::parse_http_url ... ok
[INFO] [stdout] test fetch::tests::extract_file_nested ... ok
[INFO] [stdout] test fetch::tests::extract_file_not_found ... ok
[INFO] [stdout] test fetch::tests::list_files_empty ... ok
[INFO] [stdout] test github::tests::parse_invalid_url ... ok
[INFO] [stdout] test github::tests::parse_simple_url ... ok
[INFO] [stdout] test fetch::tests::list_files_by_suffix ... ok
[INFO] [stdout] test fetch::tests::extract_file_found ... ok
[INFO] [stdout] test github::tests::parse_url_with_branch ... ok
[INFO] [stdout] test github::tests::raw_url_format ... ok
[INFO] [stdout] test github::tests::raw_url_strips_leading_slash ... ok
[INFO] [stdout] test marketplace::tests::deserialize_marketplace_mixed_sources ... ok
[INFO] [stdout] test marketplace::tests::deserialize_marketplace_with_object_sources ... ok
[INFO] [stdout] test registry::tests::package_entry_npm_to_mcp_server ... ok
[INFO] [stdout] test github::tests::parse_url_with_nested_branch ... ok
[INFO] [stdout] test registry::tests::package_entry_pip_to_mcp_server ... ok
[INFO] [stdout] test github::tests::parse_url_with_trailing_slash ... ok
[INFO] [stdout] test registry::tests::remote_entry_http_to_mcp_server ... ok
[INFO] [stdout] test registry::tests::remote_entry_sse_to_mcp_server ... ok
[INFO] [stdout] test registry::tests::server_entry_to_mcp_servers ... ok
[INFO] [stdout] test types::tests::discovery_result_from_plugins_flattens_components ... ok
[INFO] [stdout] test types::tests::discovery_result_empty_serde_roundtrip ... ok
[INFO] [stdout] test marketplace::tests::deserialize_marketplace_with_repo_alias ... ok
[INFO] [stdout] test types::tests::discovery_result_serde_roundtrip ... ok
[INFO] [stdout] test marketplace::tests::deserialize_marketplace_with_string_sources ... ok
[INFO] [stdout] test types::tests::plugin_descriptor_serde_omits_optional_fields ... ok
[INFO] [stdout] test types::tests::plugin_descriptor_full_serde_roundtrip ... ok
[INFO] [stdout] test types::tests::plugin_descriptor_deserialize_with_defaults ... ok
[INFO] [stdout] test types::tests::plugin_descriptor_minimal_serde_roundtrip ... ok
[INFO] [stdout] test types::tests::plugin_source_github_deserializes_from_repo_alias ... ok
[INFO] [stdout] test types::tests::plugin_source_github_serde_roundtrip ... ok
[INFO] [stdout] test marketplace::tests::deserialize_marketplace_with_url_source ... ok
[INFO] [stdout] test types::tests::plugin_source_relative_serde_roundtrip ... ok
[INFO] [stdout] test types::tests::plugin_source_url_serde_roundtrip ... ok
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/xen-3f8a03f45a85f5d9)
[INFO] [stdout] test types::tests::skill_descriptor_full_serde_roundtrip ... ok
[INFO] [stdout] test types::tests::skill_descriptor_minimal_serde_roundtrip ... ok
[INFO] [stdout] test types::tests::skill_descriptor_deserialize_with_defaults ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 104 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 0.02s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 117 tests
[INFO] [stdout] test cli::install::tests::matches_harness_alias_works ... ok
[INFO] [stdout] test cli::install::tests::parse_source_handles_nested_skill_path ... ok
[INFO] [stdout] test cli::install::tests::parse_source_handles_shorthand ... ok
[INFO] [stdout] test cli::install::tests::parse_source_extracts_skill_name ... ok
[INFO] [stdout] test cli::install::tests::parse_source_preserves_full_url ... ok
[INFO] [stdout] test cli::uninstall::tests::resolve_harness_accepts_canonical_copilot ... ok
[INFO] [stdout] test cli::uninstall::tests::resolve_harness_canonicalizes_copilot_alias ... ok
[INFO] [stdout] test config::jsonc::tests::preserves_comments_in_strings ... ok
[INFO] [stdout] test config::jsonc::tests::strips_trailing_commas ... ok
[INFO] [stdout] test config::jsonc::tests::strips_line_comments ... ok
[INFO] [stdout] test config::manager::extraction::tests::dir_name_from_path_extracts_final_component ... ok
[INFO] [stdout] test config::manager::extraction::tests::claude_uses_plural_directory_names ... ok
[INFO] [stdout] test config::manager::extraction::tests::dir_name_from_path_handles_trailing_slash ... ok
[INFO] [stdout] test config::jsonc::tests::strips_block_comments ... ok
[INFO] [stdout] test config::manager::extraction::tests::fallback_dir_name_maps_singular_to_plural ... ok
[INFO] [stdout] test config::manager::extraction::tests::opencode_uses_singular_directory_names ... ok
[INFO] [stdout] test cli::uninstall::tests::profile_path_uses_canonical_harness_id ... ok
[INFO] [stdout] test config::manager::files::tests::copy_dir_filtered_preserves_symlinks ... ok
[INFO] [stdout] test config::manager::files::tests::copy_dir_filtered_copies_nested_directories ... ok
[INFO] [stdout] test config::manager::files::tests::copy_config_files_copies_directories_when_saving ... ok
[INFO] [stdout] test config::manager::files::tests::switch_config_dir_safely_to_empty_profile ... ok
[INFO] [stdout] test config::manager::files::tests::copy_dir_filtered_skips_excluded_directories ... ok
[INFO] [stdout] test config::manager::files::tests::switch_config_dir_safely_preserves_on_empty_config ... ok
[INFO] [stdout] test config::manager::files::tests::switch_config_dir_safely_creates_backup ... ok
[INFO] [stdout] test config::manager::tests::extract_resource_summary_handles_nonexistent_dir ... ok
[INFO] [stdout] test config::manager::tests::create_from_current_captures_arbitrary_directories ... ok
[INFO] [stdout] test config::manager::tests::create_from_current_copies_mcp_config ... ok
[INFO] [stdout] test config::manager::tests::save_to_profile_captures_everything ... ok
[INFO] [stdout] test config::manager::tests::list_files_matching_finds_files_with_extension ... ok
[INFO] [stdout] test config::manager::tests::list_subdirs_with_file_finds_matching_dirs ... ok
[INFO] [stdout] test config::manager::tests::comprehensive_resource_leak_verification ... ok
[INFO] [stdout] test config::manager::tests::deep_nesting_survives_multiple_round_trips ... ok
[INFO] [stdout] test config::manager::tests::mcp_config_does_not_leak_between_profiles ... ok
[INFO] [stdout] test config::manager::tests::switch_profile_isolation_opencode_style ... ok
[INFO] [stdout] test config::manager::tests::switch_profile_does_not_leak_agents ... ok
[INFO] [stdout] test config::manager::tests::switch_profile_does_not_leak_multiple_resource_types ... ok
[INFO] [stdout] test config::manager::tests::switch_profile_does_not_leak_commands ... ok
[INFO] [stdout] test config::manager::tests::switch_profile_does_not_leak_skills_to_other_profiles ... ok
[INFO] [stdout] test config::manager::tests::switch_profile_isolation_claude_style ... ok
[INFO] [stdout] test config::profile_name::tests::normalizes_to_lowercase ... ok
[INFO] [stdout] test config::profile_name::tests::rejects_consecutive_hyphens ... ok
[INFO] [stdout] test config::profile_name::tests::rejects_empty_name ... ok
[INFO] [stdout] test config::profile_name::tests::rejects_invalid_characters ... ok
[INFO] [stdout] test config::profile_name::tests::rejects_leading_hyphen ... ok
[INFO] [stdout] test config::profile_name::tests::rejects_too_long_name ... ok
[INFO] [stdout] test config::profile_name::tests::rejects_trailing_hyphen ... ok
[INFO] [stdout] test config::profile_name::tests::try_from_str ... ok
[INFO] [stdout] test config::profile_name::tests::try_from_string ... ok
[INFO] [stdout] test config::profile_name::tests::valid_profile_names ... ok
[INFO] [stdout] test config::types::tests::mcp_server_info_default ... ok
[INFO] [stdout] test config::types::tests::profile_info_default ... ok
[INFO] [stdout] test config::types::tests::resource_summary_default ... ok
[INFO] [stdout] test config::types::tests::types_serialize_to_json ... ok
[INFO] [stdout] test display::tests::test_format_mcp_detail_stdio_no_args ... ok
[INFO] [stdout] test display::tests::test_format_mcp_detail_stdio_with_args ... ok
[INFO] [stdout] test display::tests::test_format_mcp_detail_url ... ok
[INFO] [stdout] test display::tests::test_nodes_to_lines_disabled_mcp_uses_gray ... ok
[INFO] [stdout] test display::tests::test_nodes_to_lines_renders_tree_structure ... ok
[INFO] [stdout] test display::tests::test_nodes_to_text_renders_header_and_fields ... ok
[INFO] [stdout] test display::tests::test_profile_to_nodes_basic ... ok
[INFO] [stdout] test display::tests::test_profile_to_nodes_with_errors ... ok
[INFO] [stdout] test install::discovery::tests::discover_skills_invalid_url ... ok
[INFO] [stdout] test install::discovery::tests::discover_skills_missing_owner ... ok
[INFO] [stdout] test install::discovery::tests::discover_skills_real_repo ... ignored, requires network access
[INFO] [stdout] test install::discovery::tests::normalize_path_handles_no_prefix ... ok
[INFO] [stdout] test install::discovery::tests::normalize_path_strips_prefix ... ok
[INFO] [stdout] test install::discovery::tests::parse_mcp_malformed_returns_error ... ok
[INFO] [stdout] test install::discovery::tests::parse_mcp_wrapper_format ... ok
[INFO] [stdout] test install::installer::tests::install_agent_uses_canonical_agents_dir ... ok
[INFO] [stdout] test config::manager::tests::switch_profile_isolation_goose_style ... ok
[INFO] [stdout] test install::installer::tests::install_creates_skill_directory ... ok
[INFO] [stdout] test install::installer::tests::install_overwrites_with_force ... ok
[INFO] [stdout] test install::installer::tests::install_rejects_invalid_skill_names ... ok
[INFO] [stdout] test install::installer::tests::install_returns_error_for_missing_profile ... ok
[INFO] [stdout] test install::installer::tests::install_sanitizes_skill_name_for_opencode ... ok
[INFO] [stdout] test install::installer::tests::install_skips_existing_without_force ... ok
[INFO] [stdout] test install::manifest::tests::test_manifest_add_entry_replaces_existing ... ok
[INFO] [stdout] test install::manifest::tests::test_manifest_find_component ... ok
[INFO] [stdout] test install::manifest::tests::test_manifest_load_empty ... ok
[INFO] [stdout] test install::manifest::tests::test_manifest_remove_component ... ok
[INFO] [stdout] test install::manifest::tests::test_manifest_save_load ... ok
[INFO] [stdout] test install::mcp_config::tests::goose_yaml_creates_extensions_if_missing ... ok
[INFO] [stdout] test install::mcp_config::tests::goose_yaml_preserves_comments ... ok
[INFO] [stdout] test install::mcp_config::tests::goose_yaml_preserves_existing_mcps ... ok
[INFO] [stdout] test install::mcp_config::tests::mcp_exists_returns_false_for_missing_file ... ok
[INFO] [stdout] test install::installer::tests::install_command_uses_canonical_commands_dir ... ok
[INFO] [stdout] test install::mcp_config::tests::mcp_exists_returns_true_for_existing ... ok
[INFO] [stdout] test install::mcp_config::tests::read_amp_config ... ok
[INFO] [stdout] test install::mcp_config::tests::read_empty_file_returns_empty ... ok
[INFO] [stdout] test install::mcp_config::tests::read_goose_yaml_filters_mcp_types ... ok
[INFO] [stdout] test install::mcp_config::tests::read_nonexistent_file_returns_empty ... ok
[INFO] [stdout] test install::mcp_config::tests::read_opencode_jsonc_config ... ok
[INFO] [stdout] test install::mcp_config::tests::write_creates_file_if_missing ... ok
[INFO] [stdout] test install::mcp_config::tests::write_preserves_existing_mcps ... ok
[INFO] [stdout] test install::mcp_config::tests::write_preserves_other_config_fields ... ok
[INFO] [stdout] test install::mcp_installer::tests::check_env_var_warnings_detects_env_vars ... ok
[INFO] [stdout] test install::mcp_installer::tests::check_env_var_warnings_empty_for_no_env ... ok
[INFO] [stdout] test install::mcp_installer::tests::install_mcp_overwrites_with_force ... ok
[INFO] [stdout] test install::mcp_installer::tests::install_mcp_preserves_existing_servers ... ok
[INFO] [stdout] test install::mcp_installer::tests::install_mcp_returns_error_for_missing_profile ... ok
[INFO] [stdout] test install::mcp_config::tests::read_claude_mcp_config ... ok
[INFO] [stdout] test install::mcp_installer::tests::install_mcp_skips_existing_without_force ... ok
[INFO] [stdout] test install::mcp_installer::tests::install_mcp_to_claude_profile ... ok
[INFO] [stdout] test install::mcp_installer::tests::install_mcp_to_amp_profile ... ok
[INFO] [stdout] test install::mcp_installer::tests::install_mcp_to_copilot_profile ... ok
[INFO] [stdout] test install::mcp_installer::tests::install_mcp_to_crush_profile ... ok
[INFO] [stdout] test install::mcp_installer::tests::install_mcp_to_opencode_profile ... ok
[INFO] [stdout] test install::mcp_installer::tests::install_mcp_to_goose_profile ... ok
[INFO] [stdout] test install::uninstaller::tests::uninstall_removes_component_directory ... ok
[INFO] [stdout] test install::uninstaller::tests::uninstall_returns_error_for_missing_profile ... ok
[INFO] [stdout] test install::uninstaller::tests::uninstall_returns_error_for_missing_component ... ok
[INFO] [stdout] test config::manager::tests::switch_preserves_unknown_files ... ok
[INFO] [stdout] test config::manager::tests::switch_profile_preserves_edits ... ok
[INFO] [stdout] test config::manager::tests::switch_profile_restores_mcp_config ... ok
[INFO] [stdout] test config::manager::tests::switch_saves_new_directories_to_old_profile ... ok
[INFO] [stdout] test config::manager::tests::switch_to_empty_profile_clears_harness_resources ... ok
[INFO] [stdout] test config::manager::tests::wide_directory_structure_preserved ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 116 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 0.37s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests harness_locate
[INFO] [stdout] 
[INFO] [stdout] running 41 tests
[INFO] [stdout] test crates/harness-locate/src/harness/mod.rs - harness::Harness::agents (line 434) - compile ... ok
[INFO] [stdout] test crates/harness-locate/src/harness/mod.rs - harness::Harness::config (line 505) - compile ... ok
[INFO] [stdout] test crates/harness-locate/src/harness/mod.rs - harness::Harness::locate (line 43) - compile ... ok
[INFO] [stdout] test crates/harness-locate/src/harness/mod.rs - harness::Harness::mcp (line 538) - compile ... ok
[INFO] [stdout] test crates/harness-locate/src/harness/mod.rs - harness::Harness::mcp_capabilities (line 620) ... ok
[INFO] [stdout] test crates/harness-locate/src/harness/mod.rs - harness::Harness::commands (line 338) - compile ... ok
[INFO] [stdout] test crates/harness-locate/src/harness/mod.rs - harness::Harness::parse_mcp_config (line 832) ... ok
[INFO] [stdout] test crates/harness-locate/src/detection.rs - detection::find_binary (line 26) - compile ... ok
[INFO] [stdout] test crates/harness-locate/src/harness/mod.rs - harness::Harness::plugins (line 378) - compile ... ok
[INFO] [stdout] test crates/harness-locate/src/harness/mod.rs - harness::Harness::installed (line 193) - compile ... ok
[INFO] [stdout] test crates/harness-locate/src/harness/mod.rs - harness::Harness::rules (line 749) - compile ... ok
[INFO] [stdout] test crates/harness-locate/src/harness/mod.rs - harness::Harness::new (line 101) ... ok
[INFO] [stdout] test crates/harness-locate/src/harness/mod.rs - harness::Harness::parse_mcp_server_config (line 876) ... ok
[INFO] [stdout] test crates/harness-locate/src/harness/mod.rs - harness::Harness::is_installed (line 120) ... ok
[INFO] [stdout] test crates/harness-locate/src/harness/mod.rs - harness::Harness::skills (line 225) - compile ... ok
[INFO] [stdout] test crates/harness-locate/src/lib.rs - (line 30) - compile ... ok
[INFO] [stdout] test crates/harness-locate/src/lib.rs - (line 42) - compile ... ok
[INFO] [stdout] test crates/harness-locate/src/harness/mod.rs - harness::Harness::kind (line 72) ... ok
[INFO] [stdout] test crates/harness-locate/src/harness/mod.rs - harness::Harness::mcp_to_native (line 796) ... ok
[INFO] [stdout] test crates/harness-locate/src/lib.rs - (line 53) ... ok
[INFO] [stdout] test crates/harness-locate/src/harness/mod.rs - harness::Harness::supports_mcp_server (line 643) ... ok
[INFO] [stdout] test crates/harness-locate/src/mcp.rs - mcp::HttpMcpServer (line 581) ... ok
[INFO] [stdout] test crates/harness-locate/src/mcp.rs - mcp::SseMcpServer (line 539) ... ok
[INFO] [stdout] test crates/harness-locate/src/types.rs - types::EnvValue::env (line 502) ... ok
[INFO] [stdout] test crates/harness-locate/src/types.rs - types::EnvValue (line 458) ... ok
[INFO] [stdout] test crates/harness-locate/src/mcp.rs - mcp::StdioMcpServer (line 489) ... ok
[INFO] [stdout] test crates/harness-locate/src/types.rs - types::EnvValue::to_native (line 528) ... ok
[INFO] [stdout] test crates/harness-locate/src/types.rs - types::EnvValue::resolve (line 662) ... ok
[INFO] [stdout] test crates/harness-locate/src/types.rs - types::EnvValue::try_to_native (line 569) ... ok
[INFO] [stdout] test crates/harness-locate/src/types.rs - types::HarnessKind::ALL (line 71) ... ok
[INFO] [stdout] test crates/harness-locate/src/types.rs - types::HarnessKind::binary_names (line 95) ... ok
[INFO] [stdout] test crates/harness-locate/src/types.rs - types::InstallationStatus::config_path (line 287) ... ok
[INFO] [stdout] test crates/harness-locate/src/types.rs - types::EnvValue::plain (line 487) ... ok
[INFO] [stdout] test crates/harness-locate/src/types.rs - types::InstallationStatus::binary_path (line 263) ... ok
[INFO] [stdout] test crates/harness-locate/src/validation.rs - validation::validate_mcp_server (line 347) ... ok
[INFO] [stdout] test crates/harness-locate/src/types.rs - types::InstallationStatus::is_runnable (line 242) ... ok
[INFO] [stdout] test crates/harness-locate/src/validation.rs - validation (line 13) ... ok
[INFO] [stdout] test crates/harness-locate/src/types.rs - types::EnvValue::from_native (line 613) ... ok
[INFO] [stdout] test crates/harness-locate/src/mcp.rs - mcp::McpCapabilities (line 662) ... ok
[INFO] [stdout] test crates/harness-locate/src/mcp.rs - mcp::McpCapabilities::for_kind (line 703) ... ok
[INFO] [stdout] test crates/harness-locate/src/types.rs - types::HarnessKind::directory_names (line 126) ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 41 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.04s
[INFO] [stdout] 
[INFO] [stdout] all doctests ran in 1.11s; merged doctests compilation took 1.03s
[INFO] [stderr]    Doc-tests skills_locate
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "601d7ccbe33e1ec70bbd2f1f2d674ce13777ddb14428b93f955298c2a5b87b8d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "601d7ccbe33e1ec70bbd2f1f2d674ce13777ddb14428b93f955298c2a5b87b8d", kill_on_drop: false }`
[INFO] [stdout] 601d7ccbe33e1ec70bbd2f1f2d674ce13777ddb14428b93f955298c2a5b87b8d
